//Source file: C:\\javier\\mario\\Java\\taladro\\AppTaladro.java

package taladro;

import taladro.control.ControlMotor;
import taladro.maquina.Motor;
import taladro.puerto.PuertoParalelo;
import taladro.control.SecuenciaSimple;
import taladro.maquina.Mesa;
import taladro.maquina.Columna;
import taladro.maquina.Herramienta;
import taladro.proyecto.Proyecto;
import taladro.maquina.Maquina;
import taladro.vista.aplicacion.ContApp;
import taladro.vista.proyecto.ContProyecto;

/**
 * @author  D801422
 */
public class AppTaladro 
{
   private static AppTaladro app;
   private Proyecto proyecto;
   private Maquina maquina;
   public ContApp contApp;
   public ContProyecto contProy;
   
   
   /**
    * Creates a new instance of AppTaladro
    * @roseuid 3F341CC1026C
    */
   public AppTaladro()
   {
       Maquina maquina = new Maquina();
       proyecto = new Proyecto();
       proyecto.setMaquina(maquina);
       contApp = new ContApp();            
       
       contProy = new ContProyecto();
       contProy.setProyecto( proyecto );
       
       contApp.addProyectoListener(contProy);
   }
   
   /**
    * @param args the command line arguments
    * @roseuid 3F341CC10276
    */
   public static void main(String[] args) 
   {
       
   /**     //Motor motor = new Motor((byte)0x10,(byte)0x20,7.5);
        Motor motor = new Motor((byte)0x40,(byte)0x80,7.5);
        Motor motor2 = new Motor((byte)0x20,(byte)0x40,7.5);
        
        SecuenciaSimple sec = new SecuenciaSimple();
        SecuenciaSimple sec2 = new SecuenciaSimple();
        motor.setSecuencia(sec);
	motor2.setSecuencia(sec2);
        ControlMotor contMot = new ControlMotor(2.0, motor);
        ControlMotor contMot2 = new ControlMotor(2.0, motor2);
        ControlMotor contMot3 = new ControlMotor(2.0, motor);
        PuertoParalelo puerto = new PuertoParalelo();
        puerto.setPuerto("LPT1",0);
        motor.setPuerto(puerto);
        motor2.setPuerto(puerto);
        
        try
        {
            
        contMot.moverPosCero();
        //contMot.mover(10.1);
        //contMot2.mover(10);
        contMot.join();
        //contMot2.join();
        
        //contMot.mover(10);
        //contMot.join();
        }
        catch(Exception e )
        {
            e.printStackTrace();
        }
        System.out.println("PosActual mot 2 = " + contMot2.getPosActual() );
        System.out.println("PosActual mot = " + contMot.getPosActual() );
        System.out.println("Se acaba el main()");
        
       puerto.outPort((byte)0xc0);
       puerto.outPort((byte)0x00);
       System.out.println(puerto.inPort());
        
        //byte pru = (byte)(puerto.inPort() | 0x80);
        //System.out.println( "---> " + Integer.toHexString( pru )) ;
      */  
       AppTaladro app = AppTaladro.getApp();
   }
   
   /**
    * @return AppTaladro
    * @roseuid 3F40586E0396
    */
   public static AppTaladro getApp() 
   {
       if( app == null )
           app = new AppTaladro();
        return app;    
   }
   
   /**
    * @return taladro.proyecto.Proyecto
    * @roseuid 3F4060C802AA
    */
   public Proyecto getProyecto() 
   {
    return proyecto;
   }
   
   /**
    * @return taladro.maquina.Maquina
    * @roseuid 3F4061490011
    */
   public Maquina getMaquina() 
   {
    return maquina;    
   }
}
